home *** CD-ROM | disk | FTP | other *** search
/ Technotools / Technotools (Chestnut CD-ROM)(1993).ISO / lang_c / cug231 / primes.st < prev    next >
Text File  |  1987-06-17  |  768b  |  37 lines

  1. Class Main
  2. [
  3.     main
  4.         (Primes new) do: [:x | x print]
  5. ]
  6. Class Primes
  7. | primeGenerator lastFactor |
  8. [
  9.     first
  10.         primeGenerator <- 2 to: 300.
  11.         lastFactor <- primeGenerator first.
  12.         ^ lastFactor
  13. |
  14.     next
  15.         primeGenerator <- (Factor new ;
  16.                     remove: lastFactor
  17.                     from:   primeGenerator ).
  18.         ^ lastFactor <- primeGenerator next.
  19. ]
  20.  
  21. Class Factor
  22. | myFactor generator |
  23. [
  24.     remove: factorValue from: generatorValue
  25.         myFactor <- factorValue.
  26.         generator <- generatorValue
  27. |
  28.     next        | possible |
  29.         [(possible <- generator next) notNil]
  30.             whileTrue:
  31.                 [(possible \\ myFactor ~= 0)
  32.                     ifTrue: [ ^ possible] ].
  33.         ^ nil
  34. ]
  35.  
  36.  
  37.